package com.itheima.reggie.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.itheima.reggie.entity.Employee;
import com.itheima.reggie.entity.PageParam;

public interface EmployeeService {
    
    /**
     * 更新员工 （包括更新员工的状态和员工的信息）
     * @param employee
     * @return
     */
    int update(Employee employee , long employeeId);
    
    /**
     * 分页查询
     * @param pageParam
     * @return
     */
    IPage<Employee> findPage(PageParam pageParam);
    
    /**
     * 添加员工
     * @param employee
     * @return 影响的行数
     */
    int add(Employee employee , long employeeId);
    
    
    /**
     * 员工登录
     *      1. 登录其实就是拿着账号和密码去查询数据库，看看有没有这个人存在
     *      2. 但是仅仅返回一个有或者是没有，是不够的，因为员工登录完毕之后，后续的一切操作都无法跟踪了。
     *      3. 所以既然登录是查询操作，那不如把这个人的所有详细信息给查询出来。
     *      4. 后续把这个员工的信息给保存到session作用域里面，这样就能跟踪这个员工的操作了。
     * @param employee
     * @return
     */
    Employee login(Employee employee);
}
